package com.eshop.modules.quartz.service.dto;

import java.sql.Timestamp;
import java.util.List;
import com.eshop.annotation.Query;

public class QuartzJobQueryCriteria
{
    @Query(type = Query.Type.INNER_LIKE)
    private String jobName;
    @Query
    private Boolean isSuccess;
    @Query
    private Boolean isPause;
    @Query(type = Query.Type.BETWEEN)
    private List<Timestamp> createTime;
    
    public String getJobName() {
        return this.jobName;
    }
    
    public Boolean getIsSuccess() {
        return this.isSuccess;
    }
    
    public Boolean getIsPause() {
        return this.isPause;
    }
    
    public List<Timestamp> getCreateTime() {
        return this.createTime;
    }
    
    public void setJobName(final String jobName) {
        this.jobName = jobName;
    }
    
    public void setIsSuccess(final Boolean isSuccess) {
        this.isSuccess = isSuccess;
    }
    
    public void setIsPause(final Boolean isPause) {
        this.isPause = isPause;
    }
    
    public void setCreateTime(final List<Timestamp> createTime) {
        this.createTime = createTime;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof QuartzJobQueryCriteria)) {
            return false;
        }
        final QuartzJobQueryCriteria other = (QuartzJobQueryCriteria)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$isSuccess = this.getIsSuccess();
        final Object other$isSuccess = other.getIsSuccess();
        Label_0065: {
            if (this$isSuccess == null) {
                if (other$isSuccess == null) {
                    break Label_0065;
                }
            }
            else if (this$isSuccess.equals(other$isSuccess)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$isPause = this.getIsPause();
        final Object other$isPause = other.getIsPause();
        Label_0102: {
            if (this$isPause == null) {
                if (other$isPause == null) {
                    break Label_0102;
                }
            }
            else if (this$isPause.equals(other$isPause)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$jobName = this.getJobName();
        final Object other$jobName = other.getJobName();
        Label_0139: {
            if (this$jobName == null) {
                if (other$jobName == null) {
                    break Label_0139;
                }
            }
            else if (this$jobName.equals(other$jobName)) {
                break Label_0139;
            }
            return false;
        }
        final Object this$createTime = this.getCreateTime();
        final Object other$createTime = other.getCreateTime();
        if (this$createTime == null) {
            if (other$createTime == null) {
                return true;
            }
        }
        else if (this$createTime.equals(other$createTime)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof QuartzJobQueryCriteria;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $isSuccess = this.getIsSuccess();
        result = result * 59 + (($isSuccess == null) ? 43 : $isSuccess.hashCode());
        final Object $isPause = this.getIsPause();
        result = result * 59 + (($isPause == null) ? 43 : $isPause.hashCode());
        final Object $jobName = this.getJobName();
        result = result * 59 + (($jobName == null) ? 43 : $jobName.hashCode());
        final Object $createTime = this.getCreateTime();
        result = result * 59 + (($createTime == null) ? 43 : $createTime.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "QuartzJobQueryCriteria(jobName=" + this.getJobName() + ", isSuccess=" + this.getIsSuccess() + ", isPause=" + this.getIsPause() + ", createTime=" + this.getCreateTime() + ")";
    }
}
